In grid based computer system, when a server in the grid goes off-line, applications that were served by the off-line server are no longer available from that server. Requests for the applications once served by the off-line server may not be serviced or a new server with the requested application must be located with a valid license.
Moreover, when a server reaches a limiting threshold such as computing power, memory, storage, external limiting factor, or the like, there is no orderly process to add additional resources in anticipation of the threshold or as a result of reaching the threshold. Flexibly adding new resources to the grid in view of the threshold or releasing the resources when no longer required typically does not occur with much transparency or without disruption to a process somewhere in the grid.
Adding additional resources to the grid typically requires validation of the new resource. For example, a new server with an appropriate resource may not be able to be added to the grid because the server has no valid license for the resource. Alternatively, a license typically has an associated metering required to assure that instances of a resource do not exceed a pre-determined limit, typically according to the terms of the license. In a grid system, the metering of resources becomes problematic when host machines or servers become unavailable or reach a performance limit. Adding new application resources for availability to the grid from alternate servers usually necessitates a reconciling of license terms (i.e., metering or instance counts) for the given resource.
However, little transparency currently exists to provide for dynamically adding and removing resources in the grid in response to demands for licensed applications (and in certain instances “non-licensed” resources) so that the demands are met while also detecting faults in one or more grid components (e.g., application servers) and dynamically adjusting for the faults transparently by adding (or removing) new resources to the grid according to available license limits. Thus, adding or removing of resources should be transparent to an application requestor and grid operations overall, and be reconciled according to licensing limits.